//import org.apache.spark.sql.hive.HiveContext
//import org.apache.spark.{SparkConf, SparkContext}
//
//object HiveApp {
//
//  def main(args: Array[String]): Unit = {
//
//    val conf = new SparkConf().setAppName("HiveApp").setMaster("local[2]")
//      .set("spark.executor.memory", "1g")
//      .set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
//      //.setJars(Seq("D:\\workspace\\scala\\out\\scala.jar"))//加载远程spark
//      .set("hive.metastore.uris", "thrift://bdptest1:9083") //远程hive的meterstore地址
//    // .set("spark.driver.extraClassPath","D:\\json\\mysql-connector-java-5.1.39.jar")
//    val sparkcontext = new SparkContext(conf);
//    //    val sc = new SparkContext(sparkConf)
//    //    val hiveContext = new HiveContext(sc)
//    val hiveContext = new HiveContext(sparkcontext)
//    hiveContext.sql("use prod_bd") //使用数据库
//    val hiveData = hiveContext.sql("select * from testv1") //使用表
//    hiveData.show(10)
//
//    //  val hiveDF = hiveContext.table("testv1")
//
//    //    val warehouseLocation = new File("spark-warehouse").getAbsolutePath
//    //    //配置spark
//    //    val spark = SparkSession
//    //      .builder()
//    //      .appName("Spark Hive Example")
//    //      .master("local[2]")
//    //      .config("spark.sql.warehouse.dir", warehouseLocation)
//    //      .config("hive.metastore.uris", "thrift://bdptest1:9083")
//    //      .config("mapreduce.input.fileinputformat.input.dir.recursive", "true")
//    //      .config("hive.input.dir.recursive", "true")
//    //      .config("hive.mapred.supports.subdirectories", "true")
//    //      .config("hive.supports.subdirectories", "true")
//    //      .config("spark.driver.maxResultSize", "5g")
//    //      //启动hive支持
//    //      .enableHiveSupport()
//    //      .getOrCreate()
//    //    import spark.implicits._
//    //    import spark.sql
//    //    //    sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING) USING hive")
//    //    //    sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")
//    //    sql("select * from default.t1 ").show(10)
//    // Queries are expressed in HiveQL
//    //  sql("SELECT * FROM src").show()
//
//
//    // import hiveContext.implicits._
//
//    //    //写入hive
//    //    val tableName = ""
//    //    val columnNames = ""
//    //    val allFieldNames = ""
//    //    val DataBaseName = ""
//    //    hiveContext.sql(s"use `$DataBaseName`")
//    //    val data = sc.textFile("path").map(x=>x.split("\\s+")).map(x=>Person(x(0),x(1).toInt,x(2)))
//    //    data.toDF().insertInto(s"`$tableName`")
//
//  }
//
//}
